<?php declare(strict_types=1);


namespace App\Model\Entity;

use Swoft\Db\Annotation\Mapping\Column;
use Swoft\Db\Annotation\Mapping\Entity;
use Swoft\Db\Annotation\Mapping\Id;
use Swoft\Db\Eloquent\Model;


/**
 * 商家APP用户表
 * Class JnSuppliersUsers
 *
 * @since 2.0
 *
 * @Entity(table="jn_suppliers_users")
 */
class JnSuppliersUsers extends Model
{
    /**
     * 
     * @Id()
     * @Column()
     *
     * @var int
     */
    private $id;

    /**
     * 用户名
     *
     * @Column()
     *
     * @var string
     */
    private $username;

    /**
     * 昵称
     *
     * @Column()
     *
     * @var string
     */
    private $nickname;

    /**
     * 账户类型：1=供应商 2=买手 3=类型
     *
     * @Column(name="user_type", prop="userType")
     *
     * @var int
     */
    private $userType;

    /**
     * 性别，0保密1男2女
     *
     * @Column()
     *
     * @var int
     */
    private $gender;

    /**
     * 密码
     *
     * @Column(hidden=true)
     *
     * @var string
     */
    private $password;

    /**
     * 手机号
     *
     * @Column()
     *
     * @var string
     */
    private $mobile;

    /**
     * 邮箱
     *
     * @Column()
     *
     * @var string
     */
    private $email;

    /**
     * 备注
     *
     * @Column()
     *
     * @var string
     */
    private $note;

    /**
     * 状态
     *
     * @Column()
     *
     * @var int
     */
    private $status;

    /**
     * 联系人
     *
     * @Column()
     *
     * @var string
     */
    private $contract;

    /**
     * 商家ID
     *
     * @Column(name="suppliers_id", prop="suppliersId")
     *
     * @var int
     */
    private $suppliersId;

    /**
     * 后台用户ID
     *
     * @Column(name="admin_user_id", prop="adminUserId")
     *
     * @var int
     */
    private $adminUserId;

    /**
     * 是否买手
     *
     * @Column(name="is_buyer", prop="isBuyer")
     *
     * @var int
     */
    private $isBuyer;

    /**
     * 统一用户ID
     *
     * @Column(name="ucenter_user_id", prop="ucenterUserId")
     *
     * @var int
     */
    private $ucenterUserId;

    /**
     * 创建时间
     *
     * @Column(name="add_time", prop="addTime")
     *
     * @var int|null
     */
    private $addTime;

    /**
     * 更新时间
     *
     * @Column(name="update_time", prop="updateTime")
     *
     * @var int|null
     */
    private $updateTime;

    /**
     * 微信openid
     *
     * @Column()
     *
     * @var string|null
     */
    private $openid;


    /**
     * @param int $id
     *
     * @return self
     */
    public function setId(int $id): self
    {
        $this->id = $id;

        return $this;
    }

    /**
     * @param string $username
     *
     * @return self
     */
    public function setUsername(string $username): self
    {
        $this->username = $username;

        return $this;
    }

    /**
     * @param string $nickname
     *
     * @return self
     */
    public function setNickname(string $nickname): self
    {
        $this->nickname = $nickname;

        return $this;
    }

    /**
     * @param int $userType
     *
     * @return self
     */
    public function setUserType(int $userType): self
    {
        $this->userType = $userType;

        return $this;
    }

    /**
     * @param int $gender
     *
     * @return self
     */
    public function setGender(int $gender): self
    {
        $this->gender = $gender;

        return $this;
    }

    /**
     * @param string $password
     *
     * @return self
     */
    public function setPassword(string $password): self
    {
        $this->password = $password;

        return $this;
    }

    /**
     * @param string $mobile
     *
     * @return self
     */
    public function setMobile(string $mobile): self
    {
        $this->mobile = $mobile;

        return $this;
    }

    /**
     * @param string $email
     *
     * @return self
     */
    public function setEmail(string $email): self
    {
        $this->email = $email;

        return $this;
    }

    /**
     * @param string $note
     *
     * @return self
     */
    public function setNote(string $note): self
    {
        $this->note = $note;

        return $this;
    }

    /**
     * @param int $status
     *
     * @return self
     */
    public function setStatus(int $status): self
    {
        $this->status = $status;

        return $this;
    }

    /**
     * @param string $contract
     *
     * @return self
     */
    public function setContract(string $contract): self
    {
        $this->contract = $contract;

        return $this;
    }

    /**
     * @param int $suppliersId
     *
     * @return self
     */
    public function setSuppliersId(int $suppliersId): self
    {
        $this->suppliersId = $suppliersId;

        return $this;
    }

    /**
     * @param int $adminUserId
     *
     * @return self
     */
    public function setAdminUserId(int $adminUserId): self
    {
        $this->adminUserId = $adminUserId;

        return $this;
    }

    /**
     * @param int $isBuyer
     *
     * @return self
     */
    public function setIsBuyer(int $isBuyer): self
    {
        $this->isBuyer = $isBuyer;

        return $this;
    }

    /**
     * @param int $ucenterUserId
     *
     * @return self
     */
    public function setUcenterUserId(int $ucenterUserId): self
    {
        $this->ucenterUserId = $ucenterUserId;

        return $this;
    }

    /**
     * @param int|null $addTime
     *
     * @return self
     */
    public function setAddTime(?int $addTime): self
    {
        $this->addTime = $addTime;

        return $this;
    }

    /**
     * @param int|null $updateTime
     *
     * @return self
     */
    public function setUpdateTime(?int $updateTime): self
    {
        $this->updateTime = $updateTime;

        return $this;
    }

    /**
     * @param string|null $openid
     *
     * @return self
     */
    public function setOpenid(?string $openid): self
    {
        $this->openid = $openid;

        return $this;
    }

    /**
     * @return int
     */
    public function getId(): ?int
    {
        return $this->id;
    }

    /**
     * @return string
     */
    public function getUsername(): ?string
    {
        return $this->username;
    }

    /**
     * @return string
     */
    public function getNickname(): ?string
    {
        return $this->nickname;
    }

    /**
     * @return int
     */
    public function getUserType(): ?int
    {
        return $this->userType;
    }

    /**
     * @return int
     */
    public function getGender(): ?int
    {
        return $this->gender;
    }

    /**
     * @return string
     */
    public function getPassword(): ?string
    {
        return $this->password;
    }

    /**
     * @return string
     */
    public function getMobile(): ?string
    {
        return $this->mobile;
    }

    /**
     * @return string
     */
    public function getEmail(): ?string
    {
        return $this->email;
    }

    /**
     * @return string
     */
    public function getNote(): ?string
    {
        return $this->note;
    }

    /**
     * @return int
     */
    public function getStatus(): ?int
    {
        return $this->status;
    }

    /**
     * @return string
     */
    public function getContract(): ?string
    {
        return $this->contract;
    }

    /**
     * @return int
     */
    public function getSuppliersId(): ?int
    {
        return $this->suppliersId;
    }

    /**
     * @return int
     */
    public function getAdminUserId(): ?int
    {
        return $this->adminUserId;
    }

    /**
     * @return int
     */
    public function getIsBuyer(): ?int
    {
        return $this->isBuyer;
    }

    /**
     * @return int
     */
    public function getUcenterUserId(): ?int
    {
        return $this->ucenterUserId;
    }

    /**
     * @return int|null
     */
    public function getAddTime(): ?int
    {
        return $this->addTime;
    }

    /**
     * @return int|null
     */
    public function getUpdateTime(): ?int
    {
        return $this->updateTime;
    }

    /**
     * @return string|null
     */
    public function getOpenid(): ?string
    {
        return $this->openid;
    }

}
